﻿''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Codigo de proyecto: 306 F
' Nombre proyecto: Framework Web LNK
' Nombre del módulo: Página customizable de control de errores
' Tarea/s relacionada/s: Control de errores
' Fecha creacion: 22/10/2009
' Autor/es original/es: Mauro Cristy mcristy@cdt-ar.com 
' Fecha modificacion: No Aplica
' Autor modificacion: No Aplica
' R02 relacionados: 02
' R03 relacionados: No Aplica
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Partial Public Class AppErrors
    Inherits System.Web.UI.Page

    ''' <summary>
    ''' Este método se utiliza para vincular el formulario con el tema seleccionado.
    ''' </summary>
    Protected Overloads Sub OnPreInit() Handles Me.PreInit

        ''Aplicacion de Tema
        'If Not Session("Tema") Is Nothing Then
        '    Page.Theme = Session("Tema").ToString
        'End If

    End Sub

    ''' <summary>
    ''' Al cargar la página, se leen ciertas variables del entorno y se muestra un error de manera controlada.
    ''' </summary>
    ''' <remarks>Además de mostrar el error por pantalla, el mismo se loguea internamente en el Framework.</remarks>
    ''' <param name="sender">Objeto emisor del evento.</param>
    ''' <param name="e">Argumentos pasados por parámetro.</param>
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        'Si no es una recarga de la pagina
        If Not Page.IsPostBack Then

            'Get exception details
            Dim ex As Exception = HttpContext.Current.Server.GetLastError()

            Try
                Me.Label2.Text = ex.Message
                'Me.Label2.Text = System.Web.HttpContext.Current.Session("ErrorMensaje")

                Me.Label6.Text = ex.ToString()
                'Me.Label6.Text = System.Web.HttpContext.Current.Session("ErrorDescripcion")

                Me.Label7.Text = "Fecha: " + Format(Date.Today, "dd/MM/yyyy")
                Me.Label9.Text = "Hora: " + DateTime.Now.TimeOfDay.ToString
                Me.Label10.Text = "Operador: " + Membership.GetUser().UserName
                Me.Label11.Text = "Sesion ID: " '+ Session.SessionID

                Me.Label8.Text = ex.StackTrace
                'Me.Label8.Text = System.Web.HttpContext.Current.Session("ErrorPilaEjecucion")

                DA.Env.LogError("Generico", Terminal, Operador, "DB009", ex.Message)
                'DA.Env.LogError("Generico", Terminal, Operador, "DB009", System.Web.HttpContext.Current.Session("ErrorMensaje"))
            Catch ex2 As Exception
                'DA.Env.LogError("Desconocido", Terminal, Operador, "DB009", ex.Message)
            End Try

        End If

    End Sub

    Private Sub Button1_click() Handles Button1.Click
        If Button1.Text = "Información Técnica >>" Then
            'Cambia la propiedad texto del botton
            Button1.Text = "Información Técnica <<"

            Table2.Visible = True

        Else
            'Cambia la propiedad texto del botton
            Button1.Text = "Información Técnica >>"

            Table2.Visible = False
        End If
        'Boton invisible
        Button1.Visible = False
    End Sub

End Class